﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MakeIT.Alf.Site.Entidades;
using MakeIT.Alf.Site.Negocios;

namespace MakeIT.Alf.Site.Apresentacao
{
    public partial class produtoDetalhe : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ltlImagem.Text = "'" + this.Image2.ClientID + "'";

            if(!IsPostBack)
                carregaImoveis();
        }

        protected void carregaImoveis()
        {
            ImovelVO iVOItem = AlfDAO.getImovel(Convert.ToInt32(Request.QueryString["idImovel"]));
            

            lblCodigo.Text = Convert.ToString(iVOItem.idImovel);
            if (Convert.ToString(Session["vendaLocacao"]) == "L")
                lblValor.Text = String.Format("{0:C}", iVOItem.vlrLoc);
            else
                lblValor.Text = String.Format("{0:C}", iVOItem.vlrVda);

            this.hlContato.NavigateUrl = "~/Contato.aspx?idImovel=" + iVOItem.idImovel;

            lblDescricao.Text = iVOItem.descricao.Replace("\n", "<br />");

            lblCaracteristicas.Text = String.Empty;
            lblCaracteristicas.Text += "Área Total: " + iVOItem.areaTotal;
            lblCaracteristicas.Text += "<br />Área Útil: " + iVOItem.areaUtil;
            lblCaracteristicas.Text += "<br />Dormitórios: " + iVOItem.quartos;
            lblCaracteristicas.Text += "<br />Vagas: " + iVOItem.vagasGaragem;
            if (iVOItem.suites > 0 && iVOItem.suites != null)
                lblCaracteristicas.Text += "<br />Suite: " + iVOItem.suites;
            if (iVOItem.andares > 0 && iVOItem.andares != null)
                lblCaracteristicas.Text += "<br />n° de Andares: " + iVOItem.andares;
            if (iVOItem.aptoAndar > 0 && iVOItem.aptoAndar != null)
                lblCaracteristicas.Text += "<br />n° de Apartamentos por Andar: " + iVOItem.aptoAndar;
            
            

            iVOItem.idImovelCatVO = AlfDAO.getImovelcat(iVOItem.idImovelCat);
            iVOItem.idImovelCatVO.idImovelTipoVO = AlfDAO.getImoveltipo(iVOItem.idImovelCatVO.idImovelTipo);

            carregaImagens(iVOItem.idImovel);
            carregaTipoImovel(iVOItem.idImovelCat);
            carregaLogradouro(iVOItem.idLogradouro);
            carregaCarracteristicas(iVOItem.idImovel);
            carregaAreaComum(iVOItem.idImovel);
        }

        protected void carregaImagens(int id)
        {
            ImovelxfotoVO ifVO = AlfDAO.getImovelxfoto(null, id);

            if (ifVO != null)
            {
                btnImgG.ImageUrl = "~/DownImovelxfotoFotoMedium.aspx?idImovelxfoto=" + Convert.ToString(AlfDAO.getImovelxfoto(ifVO.idImovelxfoto).idImovelxfoto);

                Repeater1.DataSource = AlfDAO.getImovelxfotos(null, id);
                Repeater1.DataBind();

            }
        }

        protected void carregaTipoImovel(int id)
        {
            ImovelcatVO icVO = AlfDAO.getImovelcat(id);
            icVO.idImovelTipoVO = AlfDAO.getImoveltipo(icVO.idImovelTipo);

             string tipoCat = icVO.imovelCat + "/" + icVO.idImovelTipoVO.imovelTipo;

             lblCategoriaTipoImovel1.Text = tipoCat.Replace('/', '-');

             lblCategoriaTipoImovel2.Text = tipoCat;
        }

        protected void carregaLogradouro(int id)
        {
            LogradouroVO lVO = LogradouroVO.CreateVO();

            lVO = AlfDAO.getLogradouro(id);
            lVO.idLogTipoVO = AlfDAO.getLogtipo(lVO.idLogTipo);
            lVO.idBairroVO = AlfDAO.getBairro(lVO.idBairro);
            lVO.idBairroVO.idCidadeVO = AlfDAO.getCidade(lVO.idBairroVO.idCidade);
            lVO.idBairroVO.idCidadeVO.idEstadoVO = AlfDAO.getEstado(lVO.idBairroVO.idCidadeVO.idEstado);

            lblEndereco.Text = String.Empty;
            lblEndereco.Text += lVO.idBairroVO.bairro;
            lblEndereco.Text += " - " + lVO.idBairroVO.idCidadeVO.cidade;
            lblEndereco.Text += " - " + lVO.idBairroVO.idCidadeVO.idEstadoVO.estado;
        }

        protected void carregaCarracteristicas(int id)
        {
            List<ImovelxcaracteristicaVO> icVO = AlfDAO.getImovelxcaracteristicas(null, null, id, null);

            foreach (ImovelxcaracteristicaVO icVOItem in icVO)
            {
                icVOItem.idCaracteristicaVO = AlfDAO.getCaracteristica(icVOItem.idCaracteristica);
                lblCaracteristicas.Text += "<br />";
                lblCaracteristicas.Text += icVOItem.idCaracteristicaVO.caracteristica;
                if (!String.IsNullOrEmpty(icVOItem.obs))
                {
                    lblCaracteristicas.Text += ": ";
                    lblCaracteristicas.Text += icVOItem.obs;
                }
            }
            lblCaracteristicas.Text += "<br />";
        }

        protected void carregaAreaComum(int id)
        {
            List<ImovelxareacomumVO> iaVO = AlfDAO.getImovelxareacomums(null, null, id, null);

            lblAreaComum.Text = String.Empty;
            int cont = 1;
            foreach (ImovelxareacomumVO iaVOItem in iaVO)
            {
                
                if(cont != 1)
                    lblAreaComum.Text += "<br /> ";
                iaVOItem.idAreaComumVO = AlfDAO.getAreacomum(iaVOItem.idAreaComum);
                lblAreaComum.Text += iaVOItem.idAreaComumVO.areaComum;
                if (!String.IsNullOrEmpty(iaVOItem.obs))
                {
                    lblAreaComum.Text += ": ";
                    lblAreaComum.Text += iaVOItem.obs;
                }
                cont++;
            }
        }

        protected void btnPesquisar_Click(object sender, ImageClickEventArgs e)
        {
            //this.buscaImovel1.btnBuscar_Click();
            if (Session["pesquisar"] != null)
                carregaImoveis();
        }

        protected void btnVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void btnImgP_Click(object sender, ImageClickEventArgs e)
        {
            btnImgG.ImageUrl = "~/DownImovelxfotoFotoMedium.aspx?idImovelxfoto=" + ((ImageButton)sender).CommandArgument;
        }

        protected void btnImgG_Click(object sender, ImageClickEventArgs e)
        {
            string [] idProduto = ((ImageButton)sender).ImageUrl.Split('=');
            if (idProduto.Length > 1)
            {
                this.Image2.ImageUrl = "~/DownImovelxfotoFotoLarge.aspx?idImovelxfoto=" + idProduto[1];

                string sScript = "exibePainel();";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "window" + "_" + this.ClientID, sScript, true);
            }
        }

        protected void ButtonFotoClose_Click(object sender, EventArgs e)
        {
            //this.PanelFoto.Visible = false;
        }

    }
}